package com.linkhub.oms.admin.modules.product.excel.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.linkhub.oms.admin.modules.product.excel.enums.PackagingMaterialTypeCellMappingEnum;
import com.linkhub.oms.admin.modules.product.excel.enums.WrapUnitCellMappingEnum;
import com.linkhub.oms.component.excel.annotation.CellPropertyMapping;
import com.linkhub.oms.component.excel.annotation.RequiredProperty;
import com.linkhub.oms.component.excel.converter.CellEnumIntegerConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Description: PackagingMaterialExcelDataDTO
 * @Author: echo
 * @Date: 2024/5/12 20:34
 * @Version: 1.0
 */
@Data
public class PackagingMaterialExcelDataDTO implements Serializable {

    @ApiModelProperty(value = "sku")
    @ExcelProperty(index = 0)
    @RequiredProperty
    private String sku;

    @ApiModelProperty(value = "英文品名")
    @ExcelProperty(index = 1)
    @RequiredProperty
    private String productEnTitle;

    @ApiModelProperty(value = "中文品名")
    @ExcelProperty(index = 2)
    private String productCTitle;

    @ApiModelProperty(value = "upc码")
    @ExcelProperty(index = 3)
    private String upc;

    @ApiModelProperty(value = "fnsku码")
    @ExcelProperty(index = 4)
    private String fnsku;

    @ApiModelProperty(value = "其他商品条码")
    @ExcelProperty(index = 5)
    private String otherCode;

    @ApiModelProperty(value = "采购价格")
    @ExcelProperty(index = 6)
    private String purchasePrice;

    @ApiModelProperty(value = "包材类型：1-飞机盒；2-平口箱；3-缓冲袋；4-不干胶；5-胶带；6-衬纸")
    @ExcelProperty(index = 7, converter = CellEnumIntegerConverter.class)
    @RequiredProperty
    @CellPropertyMapping(mappingEnum = PackagingMaterialTypeCellMappingEnum.class)
    private Integer packingMaterialType;

    @ApiModelProperty(value = "是否记录库存: 0-否；1-是")
    private Integer isRecordStock;

    @ApiModelProperty(value = "规格尺寸单位: 1-公制；2-英制")
    @ExcelProperty(index = 8, converter = CellEnumIntegerConverter.class)
    @RequiredProperty
    @CellPropertyMapping(mappingEnum = WrapUnitCellMappingEnum.class)
    private Integer specificationUnit;

    @ApiModelProperty(value = "产品/包材信息，多个信息使用-拼接：长度(英寸)-宽度(英寸)-高度(英寸)-重量(盎司)")
    @ExcelProperty(index = 9)
    private String specificationProductInfo;

    @ApiModelProperty(value = "包材展开信息，多个信息使用-拼接：长度(英寸)-宽度(英寸)-高度(英寸)")
    @ExcelProperty(index = 10)
    private String specificationWrapUnfoldInfo;


}
